package com.wh;

class BinarySearch{
	/*
		二分法查找
	*/
	public static void main(String[] args){
		int[] arr = {1,2,3,4,5,6,7,8};
		int a = 6;
		System.out.println(binarySearch(a,arr));
	}
	// 二分法查找
	static int binarySearch(int a,int[] arr){
        // 最大索引
		int maxIndex = arr.length -1;
		// 最小索引
		int minIndex = 0;
		// 中间索引
		int halfIndex = minIndex+(maxIndex-minIndex)/2;
	
		while (minIndex<=maxIndex){
			// 找到时 
			if (arr[halfIndex]==a){
				return halfIndex;
			}else if (arr[halfIndex]<a){// 比a小时
				minIndex = halfIndex + 1;
			}else {// 比a大时
				maxIndex = halfIndex - 1;
			}
			halfIndex = minIndex+(maxIndex-minIndex)/2;
		}
		return -1;
	}
}
